Touch screen simulation method and apparatus

ABSTRACT

A vehicle simulation such as for example a driving game can be provided by displaying an image of a steering wheel on a touch sensitive screen. Touch inputs are used to control the rotational orientation of displayed steering wheel. The rotational orientation of the displayed steering wheel is used to apply course correction effects to a simulated vehicle. Selective application of driver assist and different scaling of touch inputs may be provided.

FIELD

The technology herein relates to vehicle simulations and driving videogames. In more detail, the technology herein relates to simulatingcontrol of a vehicle such as for example a race car or other vehicle bycontrolling the path of the vehicle using a touch screen.

BACKGROUND AND SUMMARY

Some of the most exciting simulations and video games are those in whichthe game player or other operator controls a simulated vehicle. Flightsimulators that simulate an airplane or jet, driving games that simulatea race car, boat or jet ski games that simulate water craft, and spacegames that simulate space craft are examples of virtual experiences thathave supplied endless fascination and challenges.

More sophisticated driving or vehicle simulations simulate the physicsof the vehicle as it travels, providing a very realistic interactiveexperience. Such simulations can be so realistic that pilots, astronautsor other vehicle operators sometimes use simulators to train foroperating real vehicles. Video game developers also often seek to maketheir vehicle simulation games as realistic as possible.

One of the challenges of providing realistic vehicle simulation relatesto the control interface a game player or other operator uses to operatethe simulated vehicle. On expensive flight simulators and spacecraftsimulators of the type used to train pilots or astronauts, it ispossible to provide a model vehicle cockpit including real joysticks,steering wheels, gauges and other instrumentation and controls that arethe same as the controls within actual vehicles. Driving simulators ofthe type used to train new drivers to operate motor vehicles cansimilarly provide full-sized steering wheels, gas and brake pedals, turnsignal controls and the like to provide a very close simulation ofactual vehicle operation. Some of the more realistic arcade video gamessimilarly provide full-sized joy sticks, steering wheels, and gas andbrake pedals so that the game player feels as if he or she is operatingan actual vehicle.

Unfortunately, such realistic input devices can be very expensive tomanufacture and are quite large and bulky. In the context of home videogame play, it is possible to purchase equipment accessory driving gameuser interfaces including steering wheels and the like for use incontrolling driving games on home video game platforms and/or personalcomputers. However, such peripheral input devices are expensive and manyvideo game players cannot justify the cost—especially if they play avariety of games only some of which are driving games.

Another approach that video game designers have turned to is using theexisting more general purpose input devices available on a home videogame platform or personal computer to provide realistic and flexiblecontrol of a vehicle simulation. Since many home video game platformsare now equipped with one or multiple joysticks, it is perhapsstraightforward to provide a realistic joystick-like control of anaircraft or spacecraft simulation using the existing control interface.Similarly, control of a simulated watercraft such as a jet ski or smalloutboard motor boat can be readily simulated using a joystick (usuallyin addition with other controls) as a control interface. However, thereis no ready way to simulate a steering wheel using a joystick. In fact,the ergonomics of a steering wheel are somewhat different from those ofa joystick.

Consider, for example, the relative ease by which it is possible tosteer a car or boat using a steering wheel. A steering wheel providesgrips for both hands but can be operated with a single hand if desired.It is possible through a simple movement of the arms to turn thesteering wheel in either rotational direction (clockwise or counterclockwise) to control the direction the vehicle is traveling. Even arelatively slight rotation of the steering wheel can cause a major,rapid response in the movement of the vehicle. One can immediately tellby looking at the position of the steering wheel how much the vehiclesteering mechanism (e.g., front wheel position for a car or truck,rudder for a boat) is deflected to cause a change in vehicle course.Rapid motion of the steering wheel from a neutral position to acorrective steering position and back to the neutral position canprovide almost immediate response in vehicle course change. The amountby which the steering wheel is rotated can directly correspond to theamount the vehicle course control mechanism deflects or otherwise actsin order to change vehicle course. In view of these simple and effectiveergonomics, it is no accident that steering wheels are standard controlmechanisms for many vehicles of all different types throughout theworld.

Consider now the challenge involved in attempting to simulate theoperation of a steering wheel using other control inputs such as forexample, a joystick, trackball or mouse pointing device. Like a steeringwheel, these devices (in at least some of their forms) can provide avariable amount of control as opposed to simply on/off control. Forexample, an analog joystick, can provide a range of active controlinputs so that the amount of joystick deflection can correspond to theamount of vehicle course correction, and the direction of joystickdeflection can correspond to the direction of vehicle course correction.Similarly, one can immediately see by looking at the position of ajoystick or a mouse how much course correction is being applied and thedirection of such course correction. Yet, while the correspondencebetween a joystick and a steering wheel is quite close in some respects,it is not sufficiently close that one finds many automobiles controlledby joysticks rather than steering wheels. For example, most joysticksprovide two degrees of freedom (forward/backward and left/right) thatdoes not correspond at all to the more constrainedclockwise/counterclockwise rotation of a steering wheel. Someexperimental cars have used joysticks instead of steering wheels, butone does not find joysticks replacing steering wheels on standardpassenger automobiles.

An even greater challenge is presented when one attempts to simulaterealistic vehicle control inputs using a game playing platform that doesnot provide the continuous motion of a joystick, trackball or mouse. Dueto size, cost and related issues, many popular handheld video gameplaying platforms (including for example dedicated video game players,cellular telephones, PDAs and the like) may have no continuous or analogcontrol input devices such as joysticks, trackballs, mice or the like,or any continuous or analog control input devices may be quite differentin configuration. In some such platforms, it has been necessary in thepast to control the course of a simulated vehicle using discrete keyclosures of momentary-on push button controls. Resulting games have beensuccessful, but one cannot say that the control input functionalitycompletely realistically simulates the control input of an actualvehicle steering wheel. Therefore, further improvements are desirable.

Some recent portable handheld video game platforms including for examplethe Nintendo DS are provided with touch sensitive screens. In theabstract, it would seem to be desirable to make use of such touchsensitive screens to provide more realistic control input simulationsfor driving games and other applications. However, it is not immediatelyapparent how the developer of a video game or other application mightuse or take advantage of a touch screen to provide a realistic vehiclecontrol input function. In particular, a touch screen typically senses aposition of a finger or stylus disposed at a single point on the screen.Moving the finger or stylus back and forth or over the touch screen doesnot necessarily have the same intuitive feel as rotating a steeringwheel in different directions. To the contrary, the linear movement of afinger or stylus on a flat surface seems at first appearance to have noreal intuitive ergonomic relationship with gripping and rotating asteering wheel.

The technology herein provides, in exemplary illustrative non-limitingimplementations, unique and non-obvious techniques for using arelatively limited repertoire of input controls to provide realistic,exciting and accurate simulations of steering wheel operated (and other)vehicles or other moving objects.

In one exemplary illustrative non-limiting implementation, a video gameor other application displays an image of a steering wheel. Such displaymay be on the same screen as one that displays other information such asa race course or other environment through which the vehicle may bemaneuvered in a simulated fashion, or it may be on a different screen.The steering wheel display is, in one exemplary illustrativenon-limiting implementation, displayed on a screen that is touchsensitive. The touch-sensitive functionality of the screen is used in atleast some exemplary illustrative non-limiting implementations to allowthe video game player to control the position of the steering wheeldisplayed on the screen. The displayed vehicle steering wheel position,in turn, is used to control the travel motion or direction of thevehicle being simulated. The resulting simulation provides a realisticinput control interface obtainable using relatively inexpensive andcompact input devices such as those available on conventional portableor other video game play and/or simulation platforms.

One exemplary illustrative non-limiting implementation draws a graphicof a steering-wheel on an LCD display screen. The input from a stylus orother pointer is used to determine a vector from the center of thesteering-wheel to the point being touched on the LCD display. The anglebetween any two consecutive vectors is used to determine the directionand amount of rotation of the displayed steering-wheel.

While the input from the steering-wheel itself is sufficient tosimulate, for example, the driving of an automobile, the input may befurther analyzed to make the simulated vehicle more controllable for theuser. For example, in some exemplary illustrative non-limitingimplementations, specific zones are defined (e.g., centered around thewheel at approximately 45-degrees from center in either direction). Theuser input is constantly compared to these zones to determine exactlyhow “frantic” the user is responding to the current position andorientation of the simulated vehicle. This allows the simulation toactually “take-over” (for short periods of time) when it deems itappropriate to keep the vehicle centered on the road or other course.

As the simulation progresses, the user is given visual-feedback (e.g.,via translation and scaling of the steering-wheel graphic) about thecurrent environment that the vehicle is experiencing. This may includecollisions with other cars or static objects, rough-road, etc. Thisfeedback allows the user to have a much more vivid experience in thesimulation than merely seeing other vehicles or objects close to his orher vehicle.

In more detail, one exemplary illustrative non-limiting operating modeuses momentary-on key closures to control the course of a simulatedvehicle. For example, depressing one pushbutton switch causes thevehicle to steer to the left, while depressing another pushbutton causesthe vehicle to steer to the right. In response to such depressions, amodel of a vehicle steering wheel displayed on a screen rotates to theleft or to the right respectively to provide a visual indication to thegame player as to how much the game player is correcting the course ofthe simulated vehicle. In such exemplary control interfaces, forexample, depressing a button for a short period of time may be seen onthe screen to cause only a slight rotation of the displayed steeringwheel, while depressing the control button for a longer period of timecauses more rotation of the displayed steering wheel. In some exemplaryillustrative control interfaces, operation could be accomplished withonly a single finger or thumb by operating a cross switch or othersimilar control.

Exemplary illustrative non-limiting implementations can provideadditional or different steering wheel control simulations that takeadvantage of the touch screen functionality. For example, one exemplaryillustrative non-limiting implementation makes use of a stylus or othertouch screen pointer to control deflection or rotation of the simulatedsteering wheel to thereby simulate control of the vehicle. It ispossible, for example, to place the stylus or other pointer in registrywith the image of the simulated steering wheel displayed on the touchscreen. Rotating the steering wheel may be accomplished by linearmovement of the stylus on the touch screen. For example, moving thestylus linearly from the center of the display to the left of thedisplay may cause the steering wheel to rotate counter clockwise,whereas moving the stylus to the right linearly may cause the simulatedsteering wheel to rotate clockwise. The amount of linear movement (e.g.,the relative position of the stylus relative to an imaginary verticalcenter of the touch screen or other reference point) may control theamount of clockwise or counter clockwise rotation of the steering wheel.

In such exemplary illustrative non-limiting implementations, the gameplayer is offered quite a bit of flexibility to control the simulatedsteering wheel as he or she sees fit or as is most natural. Some gameplayers may find it to be quite intuitive to keep the stylus or fingerpositioned over a part of the steering wheel and to use it as simulatedhandgrip to directly cause the steering wheel to turn in one directionor another. Other game players, in contrast, may find it to be moreintuitive to move the stylus with a finger in ways that do not appear tobe directly in contact with the displayed steering wheel but whichnevertheless directly exert “virtual” (“the unseen hand”) control overthe simulated clockwise or counter clockwise movement of the displayedsteering wheel on the screen.

As explained above, in this exemplary illustrative implementation, theangle between two consecutive vectors defined by successive stylusstopping points and the displayed steering wheel center can be used tocontrol the amount of steering wheel rotation, and the direction of thechange in stylus position can be used to control the direction ofsteering wheel rotation. Furthermore, display of the steering wheel isnot even necessary to effect such control—similar steering functionalitycan be provided in other exemplary illustrative implementations when asteering wheel display is suppressed or otherwise not present.

In further exemplary illustrative non-limiting implementations, a stylusor finger control may be replaced by a thumb strap or other actuatorthat is in effect “worn” by the game player. In such exemplaryillustrative non-limiting implementations, the portable game player maybe equipped with a wrist strap including a small touch screen actuatorthat may be attached to and worn by a game player on a digit such as athumb or a finger. Placing the actuator in contact with the touch screenmay allow the game player to control the rotational position of thesimulated steering wheel—with our without the vector control describedabove. Different scaling factors can be applied to stylus andthumb-mounted actuators to provide more comfortable user ergonomics.

Further exemplary illustrative implementations provide a “smart” or“intelligent” user assist that senses different types of user controlinput actuations and “helps” the user when appropriate while forbearingfrom such “helping” when not appropriate.

Still further exemplary illustrative non-limiting implementationssubstitute a different visual (e.g., a zone pattern such as the top halfof an archery target) for the steering wheel display. The user may usesuch a visual to guide him or her in positioning a touch input.Different zones may correspond to different input control scales toindicate how much control is exerted on the simulated vehicle or otherobject for a given amount to touch input position change.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features and advantages will be better and morecompletely understood by referring to the following detailed descriptionof exemplary non-limiting illustrative embodiments in conjunction withthe drawings of which:

FIG. 1 is an exemplary illustrative non-limiting implementation ofexample vehicle simulation/game play using an exemplary illustrativenon-limiting handheld video game platform including touch screen;

FIG. 1A shows a further illustrative view of the exemplary illustrativenon-limiting video game play platform of FIG. 1;

FIG. 1B shows a schematic block architectural diagram of the FIG. 1exemplary illustrative non-limiting video game play platform;

FIG. 2 shows more detailed view of exemplary top and bottom screendisplays of FIG. 1;

FIG. 2A shows an example alternative view of exemplary top and bottomscreen displays in which the steering wheel view of FIG. 2 is replacedwith a zone pattern;

FIGS. 3A and 3B show exemplary illustrative non-limiting controlsettings/input mode selection;

FIGS. 4A and 4B show exemplary user input control using a stylus;

FIG. 5 shows exemplary illustrative non-limiting control input zonesselectively providing user assist and non-assist regions;

FIG. 6 shows exemplary user input control using a wearable thumb-mountedtouch actuator;

FIG. 6A shows a more detailed view of an exemplary wearablethumb-mounted touch actuator;

FIGS. 7A and 7B show exemplary illustrative non-limiting visual effects;and

FIG. 8 shows a flowchart of an exemplary illustrative non-limitingsteering-control routine.

DETAILED DESCRIPTION

FIG. 1 shows an exemplary illustrative non-limiting implementation of atouch screen based handheld video game platform 100 that providesvehicle simulation such as for example a driving game. In the particularexample show, handheld video game platform 100 may comprise for examplea Nintendo DS video game system including dual screens 102, 104. In theexample shown, the lower screen 102 provides a tough-sensitive surface.In this particular example, graphic 200 comprising the image of asteering wheel is displayed on the touch-sensitive screen 102. Steeringwheel graphic 200 represents the steering wheel of a vehicle 202 and inthis particular case is displayed on the upper screen 104. As will beunderstood by those skilled in the art, upper screen 104 may display thedriver's view of the vehicle (i.e., as looking out of the vehicle'swindshield from the driver's position), or it may display the thirdperson view showing the vehicle's position as the vehicle travels down apath such as for example a racetrack.

In the exemplary illustrative non-limiting implementation shown,rotating the displayed steering wheel image 200 clockwise causes thesimulated vehicle 202 to turn to the right. Similarly, rotating thedisplayed steering wheel image 200 counterclockwise causes the simulatedvehicle 202 to steer to the left. The amount of steering wheel 200rotation determines the amount of correction to the course thatsimulated vehicle 202 steers. Just as in a real motor vehicle, turningthe steering wheel 200 more to the left causes the simulated vehicle 202to steer more toward the left, while turning the steering wheel more tothe right causes the simulated vehicle to steer more to the right.

In the exemplary illustrative non-limiting implementation, the user mayapply different types of control inputs to specify the rotationalorientation of displayed steering wheel 200. In the mode andconfiguration shown in FIG. 1, the user may depress a momentary on/offbutton 106 with his or her left thumb to cause the displayed steeringwheel 200 to rotate counterclockwise. Similarly, the user may depress amomentary on button 108 with his or her right thumb to control displayedsteering wheel 200 to rotate in a clockwise direction. In the exampleshown, depressing one of momentary on buttons 106, 108 for a longerperiod of time causes more rotation of displayed steering wheel 200. Forexample, depressing 106 for a very short period of time may causedisplayed steering wheel 200 to rotate counterclockwise a small numberof degrees, and then return to an initial neutral position. Depressingbutton 106 for a longer time period may cause displayed steering wheel200 to rotate by a further angle counterclockwise. Holding the button106 or 108 down may cause the displayed steering wheel 200 to rotate toa maximum clockwise or counterclockwise position and remain in thatposition until the button is released. Release of both buttons 106, 108may cause steering wheel 200 to rotate (at a predetermined rate) back toan initial and/or neutral position. In this way, using a simplemomentary on-button depression, it is possible to provide a realisticsimulated steering wheel control for a vehicle simulation such as aracing car, boat, spacecraft, aircraft, or any other type of vehicle.

FIG. 1A shows the exemplary illustrative non-limiting video gameplatform 100 in more detail. As shown in FIG. 1A, the lower,touch-sensitive screen 102 may be mounted on a lower housing portion112, whereas an upper screen 104 may be mounted on an upper housingportion 114 that is attached to the lower housing portion by a hinge116. The lower and upper screens 102, 104 may each comprise color liquidcrystal displays. In the example shown, the lower screen 102 includes atouch-sensitive surface 118 that covers substantially the entire surfacearea of the lower screen. A stylus 120 (which may be stored when not inuse within a stylus cavity 122 within the upper or lower housing 112,114) may be used to provide touch inputs via touch-sensitive surface118. Various input devices mounted on the lower housing 112 includingpreviously-mentioned push button 106 (which may be a conventionalcross-switch having four momentary on positions and one mutual offposition), momentary on buttons 108, 110, buttons 124, 126 and otherinput devices may also be provided. Such buttons may be used to controlsteering wheel position (as explained above well as for controllingsimulated acceleration, simulated brakes, and the like.

The video game platform 100 shown in FIG. 1A may play a video game andprovide corresponding interactive video game displays and audio based oncontents of a memory card 128 that may be removably inserted into thevideo game platform 100. In more detail, referring to FIG. 1B, thememory cartridge 128 may include a read only memory 128 a and a randomaccess memory 128 b. The read only memory 128 a may store a variety ofinformation including video game software to be executed by the videogame platform 100. As further shown in FIG. 1B, the exemplaryillustrative non-limiting video game platform 100 may include first andsecond graphics processing units 24, 26 coupled to corresponding videoRAMS 23, 25, respectively. A CPU core 21 may access the contents ofcartridge 128 via a connector 28 and a bus 28 a. CPU core 21 reads videogame instructions and other information from the cartridge 128, andcontrols the graphics processors 24, 26 to display resulting video gameimages on liquid crystal displays 102, 104. Inputs provided by touchpanel 118, operating switches 106, 108 and other inputs are provided toCPU core 21 via an interface circuit 27. Audio can also be played backvia a loudspeaker 15.

FIG. 2 shows in more detail the exemplary illustrative non-limitingscreen 102, 104 displays shown in FIG. 1. As shown in FIG. 2, lowerscreen 102 displays graphical image 200 of the steering wheel. Thesteering wheel image 200 shown includes a conventional circular rimportion 204 and an inner hub portion 206. A button 208 at the center ofthe hub portion 206 may represent a conventional vehicle horn button.Grip areas 210, 212, are provided to resemble portions of a steeringwheel that are typically gripped by the driver's hands. In the exemplaryillustrative non-limiting implementation shown, user input controls thedisplayed steering wheel 200 to rotate clockwise or counterclockwise bya controllable amount. Also displayed on display screens 102, 104 is avariety of other interesting interactive graphics. For example, FIG. 2shows an image of a race car or other vehicle 202 navigating a track214. The track may pass through a three-dimensional landscape such asbuildings 216, mountains 218 and the like. Other vehicles 220 may bedisplayed on the track, and the object of the game may be to maneuversimulated vehicle 202 as rapidly as possible down track 214 in order towin a race against other simulated vehicles 220. Virtual speedometer 222may be displayed to show the speed at which the simulated vehicle 202 istraveling down the track. The simulated gear shift display 224 may bedisplayed showing the transmission gear that the simulated vehicle isoperated in. An image of track 214 as if viewed from an airplane orsatellite may be displayed to inform the user of the position ofsimulated vehicle 202 on the track. Various other informational displaysmay be provided showing lap number, lap time, lap record and the like.

FIG. 2A shows an exemplary illustrative non-limiting variation of theFIG. 2 display in which the steering wheel graphic 200 is replaced witha series of zones 400 a-400 e. In the particular example shown, zones400 a-400 e may comprise concentric circular regions such as the tophalf of an archery target. These zones 400 a-400 e may for exampledefine different sensitivity levels for touch provided within the zones.For example, a given change in touch position within the center zone 400a may extert greater change to the path of simulated vehicle 202,whereas this same given change in touch position within an outer zone400 d may extert less change to the vehicle's path.

In the exemplary illustrative non-limiting implementation shown, theuser may select different input modes for controlling and/or selectingthe input controls used to determine and control the rotationalorientation of displayed steering wheel 200. As shown in FIG. 3A, aninitial screen may display a variety of options including controlsettings 230. Selecting the control settings option 230 may allow theuser to select between three different control input modes:

-   -   control pad mode 232,    -   stylus mode 234,    -   wrist strap mode 236.

In the example shown, a control pad mode operates as described inconnection with FIG. 1—that is depressing the momentary on buttons 106,108 causes the displayed steering wheel image 200 to rotate clockwiseand counterclockwise. The stylus mode 234 is used when the user wishesto control the orientation of displayed steering wheel 200 using thestylus 120 and touchscreen 118. The user can select a wrist strap mode236 to allow the user to control the orientation of displayed steeringwheel 200 using a thumb-mounted nib that the user moves in contact withtouch-sensitive screen 118.

As shown in FIG. 4A, in the stylus mode 234, the user may use stylus 120in contact with touch-sensitive screen 118 to control the rotationalorientation of the displayed steering wheel 200. The technology hereinprovides a method for implementing a steering-wheel simulator for atouch-panel device. This idea has proven very effective in a video-gameenvironment. This implementation has been tested on an LCD-basedtouch-panel device 100. Three exemplary illustrative sections areprovided in an exemplary illustrative non-limiting implementation:

-   -   (a) A graphic 200 of a steering-wheel is drawn on the LCD        display 102. The input from the stylus 120 is used to determine        a vector from the center 208 of the steering-wheel 200 to the        point being touched on the LCD display 102. The angle between        any two consecutive vectors is used to determine the direction        and amount of rotation of the steering-wheel.    -   (b) While the input from the steering-wheel itself is sufficient        to simulate, for example, the driving of an automobile, the        input is further analyzed to make the simulated vehicle more        controllable for the user. Specific zones are defined (centered        around the wheel at approximately 45-degrees from center in        either direction). See FIG. 5. The user input is constantly        compared to these zones to determine exactly how “frantic” the        user is responding to the current position and orientation of        the simulated vehicle. This allows the simulation to actually        “take-over” (for short periods of time) when it deems it        appropriate to keep the vehicle centered on the road.    -   (c) As the simulation progresses, the user is given        visual-feedback (via translation and scaling of the        steering-wheel graphic 200) about the current environment that        the vehicle is experiencing. See FIGS. 7A and 7B. This may        include collisions with other cars or static objects,        rough-road, etc. This feedback allows the user to have a much        more vivid experience in the simulation than merely seeing other        cars or objects close to his or her vehicle.

In more detail, referring to FIGS. 4A and 4B, in an example illustrativenon-limiting implementation, starting and ending positions of stylus 120can be sensed by touch screen 118 and used to define starting and endingvectors A, A′ or B, B′. The angle α between initial and final vectorsmay be used to determine the amount of rotation of steering wheel 200.The larger the angle α, the more the steering wheel 200 rotates. Notethat in this example, the further away stylus 120 is placed from thecenter 208 of steering wheel 200, the more linear motion of the stylus120 is required to rotate the steering wheel 200 by a given amount. Forexample, when the stylus 120 is placed directly onto the image ofsteering wheel 200, it is relatively close to the center 208 of thesteering wheel and so therefore a relatively small displacement betweenbeginning and ending stylus points needed to rotate the steering wheelby a given angle α. In contrast, as shown in FIG. 4B, when the stylus120 position is relatively far away from the center 208 of steeringwheel 200, the stylus needs to be moved a relatively far amount toachieve the same rotation angle α of steering wheel 200.

This exemplary illustrative functionality allows the user to flexiblydetermine the amount of control (finer or coarse) over the orientationof steering wheel 200 by simply locating stylus 120 relative to thecenter 208 of steering wheel 200. The further away the user places thetip of stylus 120 from the center 208 of the steering wheel 200, themore the user needs to move the stylus tip to achieve the same amount ofsteering wheel rotation. The user does not need to place the tip of thestylus 120 directly on the steering wheel 200 to move the steeringwheel—placing the stylus anywhere on the touch screen 118 in theexemplary illustrative non-limiting implementation is sufficient toeffect rotation of the steering wheel 200. The ability that a user hasto select the proportionality between the amount of movement of thestylus 120 tip and amount of rotation of steering wheel 200 dependingupon the distance of the stylus tip relative to the steering wheelcenter 208 gives users ergonomic choices to match their skill level,hand to eye coordination skills and other ergonomic affects. Note alsothat in the exemplary illustrative non-limiting implementation, it isnot necessary for stylus 120 tip to be moved arcuately in order toeffect rotation of steering wheel 200. The user may move the tip ofstylus 120 in an entirely linear fashion or along any convenient path inany desired direction and the exemplary illustrative non-limitingimplementation will detect such movement, automatically define a vectorfrom the center 208 of the steering wheel to the current stylusposition, and effect rotation of steering wheel 200 accordingly.

It should be understood that the display of steering wheel not essentialto the control of the game. Display of a graphic of steering wheel 200is in some contexts very convenient in that it gives the user animmediate intuitive understanding of the different ways in whichdifferent touch screen inputs steer the simulated vehicle 202. However,players often find that once they understand this steering phenomenonand functionality, they stop looking at the displayed steering wheel 200and concentrate their view of the simulated vehicle 202. This isespecially true when the player controls the simulated vehicle 202 totravel down the track at high simulated speed (e.g., over 100 miles perhour). In such high speed operation, the player's eye may be extremelyfocused on the horizon of the top screen 104 and the player may ceaselooking at steering wheel 100 altogether or he or she may only see thesimulated steering wheel from peripheral vision, in such instances, itmay sometimes be desirable to replace the view of steering wheel 100with some other view or to allow the user to select a different view.

As illustrated in FIG. 5, exemplary illustrative non-limitingimplementations may define different zones on touch screen 118. Forexample, FIG. 5 shows four zones: “zone 1,” “zone 2”, “zone 3” and “zone4.” The illustrated zone 1 and zone 4 may be defined as “frantic” zonesin the sense that when a user's stylus has entered those zones, it islikely that the user is not very skilled and is trying to exert too muchcorrection or too rapid correction of the steering wheel 200 orientationto be successful in playing the vehicle simulation. While realism isgenerally desired in vehicle simulation and driving games, it is alsoimportant in general for video game play to be fun. Therefore, in theexemplary illustrative nonlimiting implementation upon detection thatthe stylus input has entered zone 1 or zone 4 shown in FIG. 5 may exertan additional “assist” force that in part saves the user from theconsequences of his or her over steering. In this exemplary illustrativenon-limiting implementation, this active assist may, for example,prevent the simulated vehicle 202 from leaving the track even though theextreme amount of steering correction the user effects by placing thestylus in zone 1 or zone 4 would immediately cause the vehicle to crash.Such assist functions can make game play more fun and rewarding forinexperienced users while generally not effecting game play of moreexperienced users who will generally not attempt to over steer bycausing their stylus 120 to enter zone 1 or zone 4. The amount of assistcan be carefully selected to permit experienced players to rapidlycontrol the course of vehicle 202 while saving less experienced playersfrom frustrating crashes and accidents.

FIG. 6 shows an additional exemplary illustrative non-limiting userinput mode 236 that uses a wrist strap-based wearable touch screenactuator. In the example shown, a wrist strap 280 attached to the lowerhousing 112 and generally used to carry the platform 100 in a suspendedmanner from the user's wrist when not in use may provide a thumb loop282 attached to which is a thumb nib 284 (see FIG. 6A). The user caninsert his thumb into the thumb loop 282 and use the thumb nib 284 incontact with touch screen 118 to provide the touch input for controllingthe steering wheel 200 orientation. In the example shown, the user maybut need not place the thumb nib 204 in direct contact with the steeringwheel 200 image. In this mode, the exemplary illustrative non-limitingimplementation scales the amount of input with placement of the thumbnib relative to stylus motion 120 so that a smaller amount of thumbmovement accomplishes the same rotational orientation effect on steeringwheel 200 as a larger amount of stylus 120 motion. Exemplaryillustrative non-limiting implementation performs this scaling becausemost users will not move their thumbs as much as they will move a stylus120. The same sort of vector control shown in FIGS. 4A and 4B may beapplied to the wrist strap-based control input mode 236, oralternatively, scaling may be provided so the same amount of steeringwheel 200 orientation change may be effected for a given displacement ofthe thumb nib 284 on touch screen 118 irrespective of the starting andending positions of the thumb nib relative to steering wheel center 208.

FIGS. 7A and 7B show example additional visual effects indicatingcollisions with virtual objects, passage over steep cliffs or speedbumps or other obstacles, etc. As shown in FIGS. 7A and 7B, the image ofsteering wheel 200 may appear to vibrate (e.g., become smaller andlarger in an alternating fashion or moving from side to side) to provideadditional realism. The effect is somewhat similar to what a race cardriver would see as his head and body vibrated or moved relative to theposition of the steering wheel when passing over speed bumps or otherobstacles.

The flowchart of the exemplary illustrative non-limitingsteering-control routine shown in FIG. 8 takes input from thetouch-panel 118 by examining the changes in input from one frame to thenext. Touch is sensed (block 502). The initial point of contact(“touch”) is saved (blocks 506, 508) in a touch pad initial positionregister (block 552) and used as the “center” for all future steeringcalculations. Each time the user lifts the stylus 120 from the screen118, the “virtual steering-wheel” 200 is centered (block 504). Suchrecentering can take place over time at a predetermined rate of reducingcurrent steering angle toward zero. Each new touch determines a newcenter for the steering-input (block 510, 512). Any dragging of thestylus 120 to the left or right is scaled (block 514) and passed on tothe functions described below. This scaling is done for two reasons: (1)it allows the designer to adjust the feel of the steering input to suitthe simulation, and (2) it allows different types of styluses 120 to besupported—some of which do not have the range of movement that a typical“pen” device might have (e.g. a “thumb-pad” 284 is limited in range bythe user's thumb and, therefore, has a much larger scaling-factorapplied to it. Most users simply cannot move it as far to the left orright as a pen).

At any point along the track 214, the steering-control routine candetermine the angle that the car 202 should be pointed in order to beoriented directly along the road (block 516). It then uses thisangle—along with the current orientation of the player's car 202—todetermine a “helper” adjustment angle that be scaled and applied to(blended with) the current user input (block 518). This allows theplayer to feel as though he or she is driving the car 202 by moving astylus left and right on the touch-pad but still not require preciseinputs to keep the simulation fun. Note that in the exemplaryillustrative non-limiting implementation described, the scaling-factor(amount of scaling) is very important and must be determined by repeatedplay-testing. Too little scaling requires the user to make too manysmall adjustments, too much scaling masks any user input and makes thesimulation “automatic” and not much fun!

The “helper” adjustment is not applied to the user's input at all times.When the player makes an extreme input (i.e. move the stylus 120 morethan one-half of the screen width), the “helper” function is disabledcompletely and only the user's “real” input is used. This allows theplayer to turn the car sharply to the left or right as required by thegame. This particular exemplary illustrative non-limiting applicationimplements a “drift-mode” that allows the player to slide around cornersin a similar fashion to real auto racing. This move would not bepossible if the car 202 were kept oriented along the direction of thetrack.

While the technology herein has been described in connection withexemplary illustrative non-limiting embodiments, the invention is not tobe limited by the disclosure. For example, although a race simulation isshown, the input may be used to control any sort of vehicle or object orany other simulation or game input parameter. While a simulated steeringwheel 200 has been described for purpose of illustration, othersimulated input devices (e.g., joy sticks, control levers, etc.) may bedisplayed and controlled instead or in addition, or display of thesteering wheel can be eliminated. The invention is intended to bedefined by the claims and to cover all corresponding and equivalentarrangements whether or not specifically disclosed herein.

We claim:
 1. A method comprising: (a) displaying an object on a touchscreen; (b) receiving an indication of a first touch input on the touchscreen; (c) determining a vector to the touch input; (d) repeating (b)and (c) to determine a further vector to a further touch input; (e)determining an angle between determined vectors; and (f) using thedetermined angle to control rotation of the displayed object.
 2. Themethod of claim 1 wherein the step of using the determined angle tocontrol rotation of the displayed object comprises using the determinedangle to control direction of rotation.
 3. The method of claim 2 whereinthe step of using the determined angle to control rotation of thedisplayed object further comprises using the determined angle to controlan amount of rotation.
 4. The method of claim 1 wherein the step ofusing the determined angle to control rotation of the displayed objectcomprises using the determined angle to control amount of rotation. 5.The method of claim 1 wherein (c) and (d) each determine vectors fromthe center of the displayed object to the respective first and furtherdetected touch inputs.
 6. The method of claim 1 wherein the first andfurther touch inputs comprise consecutively-detected touch inputs. 7.The method of claim 1 wherein the displayed object rotates in responseto linear movement of detected touch on the touch screen.
 8. The methodof claim 7 wherein detecting movement of touch linearly from a point onthe touch screen to the left causes the displayed object to rotate in afirst direction, and detecting movement of touch from a point on thetouch screen to the right causes the displayed object to rotate in asecond direction different from the first direction.
 9. The method ofclaim 1 wherein position of the detected touch relative to a referencepoint on the touch screen controls the amount of rotation of thedisplayed object.
 10. The method of claim 1 wherein the touch screensenses starting and ending positions of touch movement, and the sensedstarting and ending positions are used to define the first and furthervectors.
 11. The method of claim 1 wherein the amount of displayedobject rotation is directly proportional to the size of the determinedangle.
 12. The method of claim 1 wherein the touch inputs may bedetected on any portion of the touch screen to rotate the displayedobject, regardless of the position of the displayed object.
 13. Themethod of claim 1 further including modifying the proportionalitybetween the amount of movement of touch and amount of rotation of thedisplayed object depending upon the distance of touch relative to thedisplayed object based on a user selection.
 14. The method of claim 1further including detecting touch moving along a path in a desireddirection, automatically defining a vector from the center of thedisplayed object to the currently detected touch position, and effectingrotation of the displayed object in response to the defined vector. 15.The method of claim 1 further including saving an initial touch positionas a reference position.
 16. The method of claim 1 further includingrecentering the displayed object each time touch ceases to be detectedon the touch screen.
 17. A system comprising: a touch screen configuredto display an object, the touch screen detecting touch input; and aprocessor coupled to the touch screen, the processor being configured todetermine first and second vectors in response to first and seconddetected touch inputs; determine an angle between the determined firstand second vectors; and using the determined angle to control at leastone of direction and amount of rotation of the displayed object.
 18. Thesystem of claim 17 wherein the processor is further configured todetermine the first and second vectors from the center of the displayedobject to respective detected first and second touch inputs; anddetecting movement of touch linearly from a point on the touch screen tothe left causes the displayed object to rotate in a first direction, anddetecting movement of touch from a point on the touch screen to theright causes the displayed object to rotate in a second directiondifferent from the first direction.
 19. The system of claim 17 whereinthe first and second touch inputs comprise consecutively-detected touchinputs.
 20. The system of claim 17 wherein the processor is furtherconfigured to control the object to rotate in response to linearmovement detected by the touch screen.
 21. The system of claim 17wherein in response to detected moving touch linearly from a point onthe touch screen to the left of the touch screen, the processor isfurther configured to cause the displayed object to rotate in a firstdirection, and in response to detected moving touch from a point on thetouch screen to the right of the touch screen, the processor is furtherconfigured to cause the displayed object to rotate in a second directiondifferent from the first direction.
 22. The system of claim 17 whereinthe processor is further configured to use position of touch relative toa reference point to control amount of rotation of the displayed object.23. The system of claim 17 wherein the touch screen senses starting andending positions of touch movement, and the processor is furtherconfigured to use sensed starting and ending positions to define thefirst and second vectors.
 24. The system of claim 17 wherein theprocessor is further configured to control amount of object rotation tobe directly proportional to the size of the angle.
 25. The system ofclaim 17 wherein the processor is further configured to detect touchinputs on any portion of the touch screen to rotate the displayedobject, regardless of the position of the displayed object.
 26. Thesystem of claim 17 wherein the processor is further configured to detecttouch moving along a path in a desired direction, automatically define avector from the center of the displayed object to the currently detectedtouch position, and effect rotation of the displayed object in responseto the defined vector.
 27. The system of claim 17 wherein the processoris further configured to save an initial touch position as a referenceposition.
 28. The system of claim 17 wherein the processor is furtherconfigured to recenter the displayed object each time touch ceases to bedetected on the touch screen.